/*****************************************************
 * create by yang.zheng on 2020-07-28 for handle file 
 ****************************************************/

//引入crypto-js库
const CryptoJS = require('crypto-js') ;


/**
 * 日志打印输出 
 * @param {any} obj                     传入的对象信息
 * @param {String} str                  需要打印的消息
 */
exports.logs = (str,obj) => {
     if(obj){
        console.log(`*********************${str} start`)
        console.log(obj)
        console.log(`*********************${str} end`)
     }else{
        console.log(`*********************${str}`)
     }
    
 };


 /** MD5方式加密字符
  * @param {string} str 需要加密的字符串
  */
exports.EncodeMD5 = str =>  CryptoJS.MD5(str).toString().toLocaleUpperCase();

/**
 * AES方式加密字符串
 * @param {string} str       需要加密的字符串
 * @param {string} key       加密的秘钥           
 */
exports.EncodeAES = (str,key) => {
    let bytes = CryptoJS.AES.encrypt(str,key);
    return bytes.toString();
};

/**
 * 对加密的字符串通过秘钥解密
 * @param {String} str          需要解密的字符串
 * @param {String} key          解密用的秘钥
 */
exports.DecodeAES = (str, key) => {
    let bytes = CryptoJS.AES.decrypt(str,key);
    return JSON.parse(bytes.toString(CryptoJS.enc.utf8));
}
